/** 
 * 获取一个数组中某个下标的取值范围
 * @param   array   arr     目标数组
 * @param   string  key     下标
 * @param   string  if_key  判断下标是否纳入取值范围
 * @param   string  type    数据类型，int:整形，float:浮点型（保留两位小数）
 * @return  string
 **/
function getSection(arr = [], key = '', if_key = '', type = 'int') {
  // 提取对象数组中的某一个属性组成新数组
  var section = []

  arr.forEach(item => {
    if (if_key) {
      if (item[if_key]) section.push(item[key])
    } else {
      section.push(item[key])
    }
  })

  // 一维数组中取出最小值
  var min = type == 'float' ? Math.min.apply(null, section).toFixed(2) : Number(Math.min.apply(null, section));
  // 一维数组中取出最大值
  var max = type == 'float' ? Math.max.apply(null, section).toFixed(2) : Number(Math.max.apply(null, section));
  // 区间
  var section_desc = min == max ? min : min + ' - ' + max;

  return section_desc;
}

module.exports = {
  getSection: getSection
}
